Loading...
 

Isogeometric analysis on adaptive grids

Adaptive meshes made of rectangular elements of various sizes also allow for calculations using isogeometric analysis. First, if the group of the elements are separated with \( C^0 \) separators, then on each block of elements we can generate knot vectors describing the basis functions, and merge them as described in the chapter Approximation on meshes with hanging nodes.
Another widely used approach is the use of T-spline basis functions. They were invented in 2003 by Thomas Sederberg and other authors [1]. They even have a patent in the USA [2]. T-spline functions are used in isogeometric analysis [3]. They are a modification of the B-spline function which allows them to be spanned on adaptive nets. Each B-spline function spans a series of horizontal and vertical segments that define the group of elements on which it is defined (on which it takes non-zero values). The point at which it takes its maximum value is either at the center of the element (for even-order B spline) or at the vertex at the element edges (for odd-order B-spline). So, we can think of B spline functions as functions related to element centers or mesh vertices (depending on the degree of the B spline function). B-spline order function \( p \) unzips on \( 2p-1 \) items. For example, for a second order B spline function we have \( 2*2-1=3 \) elements, i.e., one element with the center (maximum function) and one element on the left and one element on the right. If we draw a horizontal line from the center of the B-spline to the left and right, and find the intersection of this line with the edges of the elements, then for a second-degree B-spline we need to find two intersections on the left and two intersections on the right, and we get all the segments unfastened on the elements on which our B-spline is unfastened.
The idea behind the T-spline function is to generalize this idea to adaptive meshes. Consider an even degree of the T-spline function. If we have an adapted mesh with elements of different sizes, then we can bind each T-spline function to the center of some element. Then, along the lines in the vertical and horizontal directions, we find intersections with the edges of the elements. For the second-degree T-spline, we need to find two intersections in each direction. In this way, we get three segments in the vertical and horizontal directions on which we span T-spline functions according to the formula for B-spline functions. We just take four points and put it in the formula for B-spline.
The process of determining the vertical and horizontal segments for the T-spline function is illustrated in Fig. 1.

Spreading the T-spline function on a two-dimensional mesh adapted towards the edge.
Figure 1: Spreading the T-spline function on a two-dimensional mesh adapted towards the edge.

Such a way of defining the T-spline function on a mesh adapted towards a point, as shown in Fig. 1 has one drawback. Note that if we want to use our T-spline functions for approximation, we will have to build a matrix in which the rows and columns represent the individual T-spline functions, while the terms of this matrix denote the integrals of the products of these functions and their values. These integrals are non-zero if the corresponding T-spline functions intersect. For an example set of T-spline functions, the generated matrix (for example, for a bitmap projection problem or for a heat transport problem) appears as shown in Fig. 1. You can see that this matrix is relatively dense.
In order to reduce the areas in which T-spline functions are defined, extensions are introduced to extend the edges on which nodes hang in the adaptive mesh (in English these extensions are called "T-junction extensions"). This is illustrated in Fig. 2. When the mesh is modified to add these additional edges, the mesh is now said to be "analysis suitable". The idea of mesh modification algorithm for T-spline functions is described in detail in the paper [4].

Grid with T-junction extensions added.
Figure 2: Grid with T-junction extensions added.

After modifying the mesh, we generate new T-spline functions, see Fig. 3.

T-spline functions span on a mesh modified for numerical analysis by adding edge extensions of hanging nodes (analysis suitable mesh with T-junction extensions).
Figure 3: T-spline functions span on a mesh modified for numerical analysis by adding edge extensions of hanging nodes (analysis suitable mesh with T-junction extensions).

The newly generated T-splines functions generate a computational mesh that is larger but the computational cost of its factorization is cheaper, see [5] and Fig. 4.

Matrix generated from modified T-splines functions.
Figure 4: Matrix generated from modified T-splines functions.

Ostatnio zmieniona Piątek 08 z Październik, 2021 09:30:57 UTC Autor: Maciej Paszynski
Zaloguj się/Zarejestruj w OPEN AGH e-podręczniki
Czy masz już hasło?

Hasło powinno mieć przynajmniej 8 znaków, litery i cyfry oraz co najmniej jeden znak specjalny.

Przypominanie hasła

Wprowadź swój adres e-mail, abyśmy mogli przesłać Ci informację o nowym haśle.
Dziękujemy za rejestrację!
Na wskazany w rejestracji adres został wysłany e-mail z linkiem aktywacyjnym.
Wprowadzone hasło/login są błędne.